package com.cwl.pattern.组合模式;

/**
 * @program: pattern
 * @description: 抽象构件
 * @author: ChenWenLong
 * @create: 2019-06-25 18:02
 **/
public interface Component {

    /**
     * 功能描述:
     * 〈添加〉
     *
     * @params : [c]
     * @return : void
     * @author : cwl
     * @date : 2019/6/25 18:03
     */
    void add(Component c);

    /**
     * 功能描述:
     * 〈删除〉
     *
     * @params : [c]
     * @return : void
     * @author : cwl
     * @date : 2019/6/25 18:03
     */
    void remove(Component c);

    /**
     * 功能描述:
     * 〈获取对单个〉
     *
     * @params : [i]
     * @return : com.cwl.pattern.组合模式.Component
     * @author : cwl
     * @date : 2019/6/25 18:03
     */
    Component getChild(int i);

    /**
     * 功能描述:
     * 〈操作〉
     *
     * @params : []
     * @return : void
     * @author : cwl
     * @date : 2019/6/25 18:03
     */
    void operation();
}
